﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ApuestaJMG.GUI.Contrato;
using Datos.Entidades;
using ApuestasJMG.GUI.Contrato;
using Logica.Comandos.AdministracionUsuarios;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos;
using Logica.FabricaLogica;
using System.Windows.Forms;
using Logica.Comandos.ComandosAdministracionEvento;
using Logica.Comandos.ComandoXML;
using System.Xml;
namespace ApuestasJMG.GUI.Presentador
{

    public class PresentadorConsultarEvento2
    {

        private IContratoConsultarEvento2 _evento;
        List<Entidad> listaUsuarios = new List<Entidad>();

        // <summary>
        /// presentador para hacer llamada a las interfaces de ConsultarEvento
        /// </summary>

        public PresentadorConsultarEvento2(IContratoConsultarEvento2 evento)
        {
            _evento = evento;
        }

        // <summary>
        /// procedimiento que consulta eventos
        /// </summary>
        /// <param name="usuario">Evento a seleccionar</param>


        public void ConsultarEventos()
        {
            Comando comando = FabricaComandoEvento.ObtenerComandoConsultarEvento();
            //comando.Tipo = fi;
            // comando.Cadena = ff;
            (comando as ComandoConsultarEvento).Ejecutar();
            //comando.Ejecutar();
            listaUsuarios = comando.ListaEntidad;
            _evento.GridViewConsultarUsuario.DataSource = listaUsuarios;
            _evento.GridViewConsultarUsuario.DataBind();
        }
        
        public void obtenerDatos (int id, string usuario)
        {
            Comando comando2 = FabricaComandoXML.CrearComandoBuscarXML(id);
            comando2.Ejecutar();
            List<Entidad> miEntidad=comando2.ListaEntidad;
            XmlTextWriter myXmlTextWriter = new XmlTextWriter("C:/Repositorio/ApuestasJMG/newbooks.xml", System.Text.Encoding.UTF8);
            myXmlTextWriter.Formatting = Formatting.Indented;
            myXmlTextWriter.WriteStartDocument(false);
            myXmlTextWriter.WriteComment("Esto es un comentario");


            
            myXmlTextWriter.WriteStartElement("usuario", null);
           myXmlTextWriter.WriteElementString("nombreUsuario", null,usuario );


           for (int i = 0; i < miEntidad.Count; i++)
           {
               myXmlTextWriter.WriteStartElement("registro");
               myXmlTextWriter.WriteStartElement("evento", null);

               myXmlTextWriter.WriteElementString("IDEvento", null, (miEntidad.ElementAt(i) as HistorialParticipante).IdEvento1.ToString());
               myXmlTextWriter.WriteElementString("nombreEvento", null, (miEntidad.ElementAt(i) as HistorialParticipante).NombreEvento1.ToString());
               myXmlTextWriter.WriteElementString("IDCategoria", null, (miEntidad.ElementAt(i) as HistorialParticipante).IdCategoria.ToString());
               myXmlTextWriter.WriteElementString("nombreCategoria", null, (miEntidad.ElementAt(i) as HistorialParticipante).NombreCategoria1.ToString());
               myXmlTextWriter.WriteElementString("tipoCategoria", null, (miEntidad.ElementAt(i) as HistorialParticipante).Tipocate.ToString());

               myXmlTextWriter.WriteStartElement("Participante", null);

               myXmlTextWriter.WriteElementString("idParticipante", (miEntidad.ElementAt(i) as HistorialParticipante).IdParticipante1.ToString());
               myXmlTextWriter.WriteElementString("nombre", (miEntidad.ElementAt(i) as HistorialParticipante).NombreParticipante1.ToString());
               myXmlTextWriter.WriteElementString("topeApuesta", (miEntidad.ElementAt(i) as HistorialParticipante).TopeApuesta1.ToString());
               myXmlTextWriter.WriteElementString("posicion", (miEntidad.ElementAt(i) as HistorialParticipante).Posicion.ToString());
               myXmlTextWriter.WriteElementString("puntos", (miEntidad.ElementAt(i) as HistorialParticipante).Puntos.ToString());
               myXmlTextWriter.WriteElementString("nombre", (miEntidad.ElementAt(i) as HistorialParticipante).NombreParticipante1.ToString());
               myXmlTextWriter.WriteElementString("relacionPago", (miEntidad.ElementAt(i) as HistorialParticipante).RelacionPago.ToString());

               myXmlTextWriter.WriteEndElement();
               myXmlTextWriter.WriteEndElement();
           }
            myXmlTextWriter.Flush();
            myXmlTextWriter.WriteEndElement();
            myXmlTextWriter.WriteEndElement();
            myXmlTextWriter.Flush();
            myXmlTextWriter.Close();
            Console.ReadLine();
        }


    }

}